const express = require('express');
const router = express.Router();
const productController = require('../controllers/productController');
const { auth, manager } = require('../middlewares/auth');
const { validate, productValidation } = require('../utils/validator');

// 所有路由都需要认证
router.use(auth);

// GET /api/products - 获取产品列表
router.get('/', productController.getProducts);

// GET /api/products/:id - 获取单个产品
router.get('/:id', productController.getProduct);

// POST /api/products - 创建产品 (需要管理员或经理权限)
router.post('/', [manager, validate(productValidation.create)], productController.createProduct);

// PUT /api/products/:id - 更新产品 (需要管理员或经理权限)
router.put('/:id', [manager, validate(productValidation.update)], productController.updateProduct);

// DELETE /api/products/:id - 删除产品 (需要管理员或经理权限)
router.delete('/:id', manager, productController.deleteProduct);

module.exports = router; 